Open Source Infrastructure
About Open Source Infrastructure aka #opensourceinfra
In addition to listing existing open source infrastructure, this community applies the ethos of #opensourceinfra:
When you run your infrastructure the way you run your open source project, you are practicing #opensourceinfra.
Hallmarks of open infra are: configurations are shared openly in a source code repo; you conduct planning and decision making in the open; generally following the open source way in running your infra community; applying the four freedoms to your infra details.
Our practice and experience is that when you run your infrastructure openly following the same precepts as your code, you gain many similar benefits for your infrastructure:
- Lower barriers to participation;
- Incremental gains in quality as ideas & fixes are submitted;
- Users of your infra are more able to solve their own problems and offer solutions;
- Integration with development is much easier - your CI/CD pipelines are the same as the developers, etc.
Note that these concepts can be practiced inside of your organization and may be helpful with modernizing your processes and achieving alignment by getting your users and developers more closely involved with / aware of your operations. This is sometimes called inner source.
Resources
Join our IRC channel on Libera, #opensourceinfra
Sign up for our discussion mailing list at lists.opensourceinfra.org
We had our first event at March 2, 2017 in Pasadena at the Southern California Linux Expo! Content has been added post-event here.
Open Source Infrastructure List
This list arose following the creation of the OpenStack Infrastructure team, which builds the open source infrastructure for the open source OpenStack project. Everything the team touches is open source!
In the course of working to build this infrastructure, it was discovered that several teams were doing similar work. The following is a list of those open source infrastructures for open source projects.
- OpenStack: http://docs.openstack.org/infra/system-config/
- Rubygems: https://github.com/rubygems/rubygems-infrastructure (Chef Cookbooks and scripts)
- Debian:
- https://dsa.debian.org/ (Debian System Administrators team)
- https://ci.debian.net/ (Continuous Integration)
- Mozilla:
- https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain (Puppets repos and doc from Mozilla Release engineering)
- https://github.com/mozilla-platform-ops (Various terraforms and git repo from Mozilla Ops)
- https://github.com/mozmar/infra (Mozilla Marketing SRE repository)
- Hashbang:
- https://github.com/hashbang/hashbang (Infrastructure overview)
- https://github.com/hashbang/admin-tools (Ansible playbooks and doc from and for the #! admin team)
- https://github.com/hashbang/shell-etc (shell servers' config, versioned with etckeeper)
- https://github.com/hashbang/dotfiles(default dotfiles deployed to users, secured with OpenPGP signatures)
- Python Foundation:
- https://github.com/python/psf-salt (Salt formulas)
- http://infra.psf.io/ (Documentation on infrastructure)
- Fedora: https://fedoraproject.org/wiki/Infrastructure
- The open source way .org: http://git.theopensourceway.org/cgit/ansible/
- Jenkins: https://www.jenkins.io/projects/infrastructure/#contributing
- FOSDEM: https://github.com/FOSDEM/infrastructure(Ansible Playbooks)
- Ubuntu:
- https://code.launchpad.net/~canonical-sysadmins & https://code.launchpad.net/~canonical-losas (Infrastructure team)
- https://jujucharms.com/store (Curated production)
- https://mojo.canonical.com/ (Deployment automation)
- MediaWiki: https://www.mediawiki.org/wiki/Continuous_integration
- OSU Open Source Lab (OSUOSL):
- https://github.com/osuosl-cookbooks/ (Chef Cookbooks)
- https://github.com/osuosl/bento/ (Packer Templates)
- http://wiki.osuosl.org/ (Public infrastructure documentation)
- oVirt:
- Gluster:
- Tails:
- IPFS: https://github.com/ipfs/infrastructure (Custom shell script for provisioning)
- NixOS: https://github.com/NixOS/nixos-org-configurations (NixOS packages)
- Apache Software Foundation:
- The Linux Foundation IT: https://github.com/lfit
- Adblock Plus: https://github.com/adblockplus/infrastructure (Puppet modules)
- BuildBot: https://github.com/buildbot/buildbot-infra (Ansible playbooks)
- Ceph:
- https://github.com/ceph/ceph-cm-ansible (Ansible playbooks)
- http://wiki.sepia.ceph.com/doku.php?id=gettingstarted (Documentation)
- KDE:
- https://community.kde.org/Infrastructure
- https://invent.kde.org/sysadmin/ Various git repo related to infrastructure
- https://invent.kde.org/sysadmin/kde-ansible (Ansible playbooks)
- TYPO3:
- https://typo3.org/teams-committees/server-team/ (Server Admin Team)
- https://github.com/TYPO3-cookbooks/ (Chef Cookbooks)
- Mageia:
- https://wiki.mageia.org/en/Mageia_Servers (Sysadmin Team)
- http://gitweb.mageia.org/infrastructure/puppet/ (Puppet manifests and modules)
- GNOME:
- https://wiki.gnome.org/Sysadmin (Sysadmin team)
- https://infrastructure.gnome.org/browse/puppet/ (Puppet manifests and modules)
- RPMFusion: https://github.com/rpmfusion-infra (Ansible playbooks, scripts)
- Rust:
- https://github.com/rust-lang/rust-buildbot (Buildbot configuration)
- https://github.com/rust-embedded/rust-embedded-provisioning (Terraform provisioning for the Rust Embedded WG infrastructure)
- Foreman: https://github.com/theforeman/foreman-infra (Puppet manifests and modules)
- LLVM:
- https://llvm.org/svn/llvm-project/zorg/trunk/ (Buildbot configuration)
- http://llvm.org/docs/HowToAddABuilder.html (Documentation)
- FireHOL: https://github.com/firehol/infrastructure (Scripts and config)
- Wikimedia:
- https://github.com/wikimedia/puppet (Puppet manifest and modules
- https://wikitech.wikimedia.org/wiki/Portal:Wikitech (Various operations documentations)
- Eclipse Foundation:
- https://wiki.eclipse.org/CBI (common build infrastructure)
- MetaCpan:
- https://github.com/metacpan/metacpan-puppet (Puppet manifests and modules)
- Kosmos:
- https://gitea.kosmos.org/kosmos/chef (Chef recipes for the infra)
- Open Source Community Infrastructure (OSCI):
- https://www.osci.io/ (Website and infra doc)
- https://gitlab.com/osas/community-cage-infra-ansible (Ansible playbooks and roles)
- DuckCorp
- https://projects.duckcorp.org/projects/dc-admin/wiki (Infra doc and Ansible playbooks and roles)
- Kubevirt
- https://github.com/kubevirt/project-infra (Ansible playbooks for the CI and bots)
- IEEE SA OPEN
- Self-hosted GitLab CE as a platform for itself and other open source projects (GitLab, Ansible, Mattermost, BigBlueButton)
- OpenStreetMap
- https://github.com/openstreetmap/chef (Chef recipes for the servers)
- MyBinder.org
- https://github.com/jupyterhub/mybinder.org-deploy (Terraform, Helm, docker images, deployment docs & continuous deployment for mybinder.org)
- Arch Linux
- https://gitlab.archlinux.org/archlinux/infrastructure (Ansible playbooks for Arch Linux infrastructure)
- Operate First
- https://github.com/operate-first (all public infrastructure for Operate First)
- Twisted
- https://github.com/twisted-infra (Fabric scripts and others for Twisted Matrix infra)
- LibriVox
- https://github.com/LibriVox/librivox-ansible (Ansible playbooks for infrastructure deployment)
- MariaDB
- https://github.com/MariaDB/mariadb.org-tools (Buildbot configuration and other small scripts and tools used for MariaDB development)
- Woodpecker CI
- https://github.com/woodpecker-ci/infrastructure (Ansible playbooks)
- Free Software Foundation Europe (FSFE)
- https://git.fsfe.org/fsfe-system-hackers/ (All code related to infrastructure)
- Ansible playbooks for various services
- Docker deployments for various services
- AlmaLinux
- https://github.com/AlmaLinux/build-system (Build System)
Talks and publications
- December 3, 2021: Infrastructure living the ideals of software freedom article by the FSFE's main system administrators giving an overview of the org's infrastructure
- September 11, 2017: Building Open Source Project Infrastructures talk by Elizabeth K. Joseph at the Open Source Summit North America
- May 10, 2017: Why choose open infrastructure? keynote by Christopher Aedo at OSCON
- March 13, 2017: How to grow healthy open source project infrastructures by Elizabeth K. Joseph
- March 9, 2017: 7 things I learned at Open Infrastructure Day @ SCaLE 15x by Spencer Krum
- March 2, 2017: Open Source Infrastructure Day talks at SCALE15x
- February 19, 2017: Using proprietary services to develop open source software by Thierry Carrez
- November 21, 2016: 4 ways to open up your project's infrastructure by Nigel Babu
- May 19, 2015: The benefits of building an open infrastructure by Elizabeth K. Joseph
- October 2, 2014: This is what system administration in the open looks like interview conducted by Jason Baker
- January 8, 2014:See how OpenStack runs a massively scalable test infrastructure in the open talk by James E. Blair at Linux.conf.au
Contribute
Join our mailing lists! Visit lists.opensourceinfra.org
Do you know about an open source infrastructure for an open source project that you want to see in this list? Let me know! You have several ways of doing so:
- Submit a Merge Request on GitLab
- Join #opensourceinfra on Libera and let us know
- Tweet at @opensourceinfra
- Email Elizabeth K. Joseph at <lyz@princessleia.com>
FAQ
Q: What is the criteria for inclusion on this site?
A: It must be an open source project with an open source infrastructure. Projects that operate a fully open source infrastructure are preferred and may soon be split into a specific section. However, if the project has a partially open source infrastructure that may be valuable to other projects and organizations, that may be added as well.
Q: This is a site about Open Source Infrastructures, but you host the code for this site on GitLab, why not host it yourself?
A: GitLab is open source software, so satisfies my personal requirements for tooling. I have enough work to do without hosting my own GitLab instance :)